//俄罗斯方块

//*****方块池*****
class BlockPool{

	constructor(el) {
		this.el = el;
	}

	/**
	 * 随机初始化最下面的几层方块
	 * @param { number } 层数
	 */
	initPool(n){
		// 随机生成最下面的几层方块
		this.data = genArray(n, () => {
			return genArray(10, () => Math.floor(Math.random() * 2))
		})
		// 上面的填充空白
		this.data.push(...genArray(20 - n, () => new Array(10)))
		this.refreshUI();
	};

	// 首层有方块，用来判断游戏结束
	isPoolTopDirty() {
		const topRow = this.data[19]
		return topRow.join('') > 0	// 不是全0
	}
	
	refreshUI(){
		this.el.innerHTML = "";
		for(var r=0,len=this.data.length;r < len ;r++){
			var item = this.data[r],
				t = (19 - r) * unit;
			for(var c=0;c<10;c++){
				if(item[c]){
					this.el.appendChild(genUnit(c, t));
				}
			}
		}
	};
}
